The present invention relates to control of another device through an Integrated Drive Electronics (IDE) bus. More specifically, an apparatus and method for an IDE device to control another device through the IDE bus, reducing the cost and complexity of a second device communicating with the IDE device, is disclosed.
The modularization of components for many of today's electronic devices has benefited manufacturers and consumers alike. The consumer has the flexibility to select from a variety of components or add additional hardware according to his or her needs. The manufacturer has the advantages of specialization, reducing costs and increasing performance of the particular component. One quite common example of such an arrangement is the ability of the user to add a device, such as an optical disc drive, to a preexisting host computer system.
As with non-modularized systems, a basic requirement for the proper functionality of the system is establishing a protocol for effective communications between the various components and the host system. Therefore, a variety of industry standard communication protocols have been developed and are currently in use, such as versions of a Universal Serial Bus (USB), Integrated Drive Electronics (IDE), and Small Computer System Interface (SCSI) interfaces as a few examples. As long as the host system and the component utilize the same protocol, communications allowing the proper functioning of the component are possible.
An obvious communication problem occurs when a user wishes to attach a device that uses one protocol to a system connection using a different protocol, for example connecting an external IDE device to a USB port of the system. In this situation an intermediate device, or bridge, is often used between the device and the host system to permit effective communications.
FIG. 1 is a functional block diagram of conventional Host-Bridge-Device system 10. The system 10 comprises a host 15, a bridge 20, and a device 25. A first bus interface 30 connects the host 15 with the bridge 20 and allows communications between the host 15 and the bridge 20 according to a first communications protocol. A second bus interface 35 connects the bridge 20 with the device 25 and allows communications between the bridge 20 and the device 25 according to a second communications protocol. The second communications protocol used in the Host-Bridge-Device system 10 is a version of Integrated Device Electronics (IDE).
The bridge 20 comprises a circuitry 50 to control the operations of bridge 20. The circuitry 50 comprises a microprocessor 60, a memory 65, and a microprocessor interface 55. The bridge 20 further comprises a plurality of registers 75 used for controlling the functions of the bridge 20. The registers 75 may be comprised within the memory 65 or they may be comprised elsewhere within the bridge 20 according to design considerations. The device comprises a microprocessor 90, firmware 95, and a corresponding plurality of IDE I/F task file registers 85 used for the transfer of data and control instructions to and from the bridge 20. The memory 65 may be volatile and/or non-volatile and is used to store computer code 70 that is executed by the microprocessor 60 to effect control of the bridge 20. The bridge 20 accesses the device 25 through the IDE bus 35 by the reading and writing of data and control instructions to and from the IDE I/F task file registers 85 in the device 25. The microprocessor 60 controls the bridge 20 to access the device 25 by the reading and writing of data and control instructions to and from the registers 75 in the bridge 20.
While the above-described circuitry 50 is capable of controlling the operations of bridge 20, the inclusion of the circuitry 50 to control the operations of bridge 20 raises the cost and complexity of the bridge 20.